package com.shop2cn.iapi.sqsynctrade.paremeter.mongo;

import java.math.BigDecimal;
import java.util.Date;

import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Field;

public class ProxyIndex {
	
	/**
	 * ID
	 */
	@Id
	private ObjectId mongoId;
	 
	@Field("oid")
	private Long orderId;
	 
	/**
	 * 插入时间
	 */
	@Field("aT")
	private Date timeMongoAdd;
	 
	/**
	 * 更新时间
	 */
	@Field("uT")
	private Date timeMongoUpdate;
	 
	 
	/**
	 * 主单ID
	 */
	@Field("main")
	private Long mainOrderId;
	 
	/**
	 * 买家ID
	 */
	@Field("user")
	private Long userId;
	 
	/**
	 * 卖家ID
	 */
	@Field("seller")
	private Long sellerId;
	 
	/**
	 * 订单状态
	 */
	@Field("st")
	private Integer tradingStatus;
	 
	/**
	 * 下单时间
	 */
	@Field("addTm")
	private Date addTime;
	 
	/**
	 * 付款时间
	 */
	@Field("paidTm")
	private Date paidTime;
	 
	/**
	 * 接单时间
	 */
	@Field("acpTm")
	private Date acceptTime;
	 
	/**
	 * 发货时间
	 */
	@Field("dlvTm")
	private Date deliveryTime;
	 
	/**
	 * 取消时间
	 */
	@Field("cncTm")
	private Date cancelTime;
	 
	/**
	 * 用户应付
	 */
	@Field("income")
	private BigDecimal income;
	
	//Seller的角色。1:店主;2:货头; 3:既是店主又是货头（直销）4:中间商;5:客服
	@Field("sRole")
	private int sellerRole;
	 
	//seller的下一级代理
	@Field("cSeller")
	private Long childSellerId;
	
	/**
	 * 神器物流类型
	 */
	@Field("dlvTp")
	private int deliveryType;
	
	/**
	 * 币种类型
	 */
	@Field("currency")
	private String currency;
	
	/**
	 * 币种类型
	 */
	@Field("sqRMBAmt")
	private BigDecimal shenqiPaymentRmbAmount;
	
	/**
	 * 成团隐藏标签
	 */
	@Field("hid")
	private Boolean hidden;
	
	/**
	 * 店主是否负利润 true:是的，null/false：否
	 */
	@Field("sNeProfit")
	private Boolean sellerNegativeProfit;
	
	/**
     * 是否自提
     */
    @Field("puInSto")
    private Boolean pickupInStores;
    
    /**
     * 分仓id
     */
    @Field("whId")
    private Integer warehouseId;
    
    /**
     * 神器分销员id
     */
    @Field("distributorId")
    private Long distributorId;
    
    /**
     * 下级分销利润
     */
    @Field("subDtbProfit")
    private BigDecimal subDistributionProfit;
    
    /**
     * 等待库存核销（0：无需核销或已核销 1：等待核销）s
     */
    @Field("wtInSto")
    private Boolean waitInStock;
    
    /**
     * 核销时间
     */
    @Field("inStoTm")
    private Date inStockTime;
    
    /**
     * 是否存在退款
     */
    @Field("hasRfd")
    private Boolean hasRefund;
    
    /**
     * 退款最后更新时间
     */
    @Field("lstRfdTm")
    private Date lastRefundTime;
    
    /**
     * 客服、货头、中间商备注
     */
    @Field("sellerMemo")
    private String sellerMemo;
    
    @Field("payableAmt")
    private BigDecimal payableAmount;
    
    @Field("platSrc")
    private String platSource;
    
    @Field("liveOrder")
    private Boolean liveOrder;
    
    @Field("bkOrder")
    private Boolean bookingOrder;
    
    @Field("crsBdTy")
    private Integer crossBorderType;
    
    @Field("pickupType")
    private Integer pickupType;
    
    @Field("pickedUpTime")
    private Date pickedUpTime;
    
    @Field("pickupUserName")
    private String pickupUserName;
    
    @Field("pickupUserPhone")
    private String pickupUserPhone;
    
    @Field("pickupStoreId")
    private Long pickupStoreId;
    
    @Field("pickupStatus")
    private Integer pickupStatus;

	public ObjectId getMongoId() {
		return mongoId;
	}

	public void setMongoId(ObjectId mongoId) {
		this.mongoId = mongoId;
	}

	public Long getOrderId() {
		return orderId;
	}

	public void setOrderId(Long orderId) {
		this.orderId = orderId;
	}

	public Date getTimeMongoAdd() {
		return timeMongoAdd;
	}

	public void setTimeMongoAdd(Date timeMongoAdd) {
		this.timeMongoAdd = timeMongoAdd;
	}

	public Date getTimeMongoUpdate() {
		return timeMongoUpdate;
	}

	public void setTimeMongoUpdate(Date timeMongoUpdate) {
		this.timeMongoUpdate = timeMongoUpdate;
	}

	public Long getMainOrderId() {
		return mainOrderId;
	}

	public void setMainOrderId(Long mainOrderId) {
		this.mainOrderId = mainOrderId;
	}

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public Long getSellerId() {
		return sellerId;
	}

	public void setSellerId(Long sellerId) {
		this.sellerId = sellerId;
	}

	public Integer getTradingStatus() {
		return tradingStatus;
	}

	public void setTradingStatus(Integer tradingStatus) {
		this.tradingStatus = tradingStatus;
	}

	public Date getAddTime() {
		return addTime;
	}

	public void setAddTime(Date addTime) {
		this.addTime = addTime;
	}

	public Date getPaidTime() {
		return paidTime;
	}

	public void setPaidTime(Date paidTime) {
		this.paidTime = paidTime;
	}

	public Date getAcceptTime() {
		return acceptTime;
	}

	public void setAcceptTime(Date acceptTime) {
		this.acceptTime = acceptTime;
	}

	public Date getDeliveryTime() {
		return deliveryTime;
	}

	public void setDeliveryTime(Date deliveryTime) {
		this.deliveryTime = deliveryTime;
	}

	public Date getCancelTime() {
		return cancelTime;
	}

	public void setCancelTime(Date cancelTime) {
		this.cancelTime = cancelTime;
	}

	public BigDecimal getIncome() {
		return income;
	}

	public void setIncome(BigDecimal income) {
		this.income = income;
	}

	public int getSellerRole() {
		return sellerRole;
	}

	public void setSellerRole(int sellerRole) {
		this.sellerRole = sellerRole;
	}

	public Long getChildSellerId() {
		return childSellerId;
	}

	public void setChildSellerId(Long childSellerId) {
		this.childSellerId = childSellerId;
	}

	public int getDeliveryType() {
		return deliveryType;
	}

	public void setDeliveryType(int deliveryType) {
		this.deliveryType = deliveryType;
	}

	public String getCurrency() {
		return currency;
	}

	public void setCurrency(String currency) {
		this.currency = currency;
	}

	public BigDecimal getShenqiPaymentRmbAmount() {
		return shenqiPaymentRmbAmount;
	}

	public void setShenqiPaymentRmbAmount(BigDecimal shenqiPaymentRmbAmount) {
		this.shenqiPaymentRmbAmount = shenqiPaymentRmbAmount;
	}

	public Boolean getHidden() {
		return hidden;
	}

	public void setHidden(Boolean hidden) {
		this.hidden = hidden;
	}

	public Boolean getSellerNegativeProfit() {
		return sellerNegativeProfit;
	}

	public void setSellerNegativeProfit(Boolean sellerNegativeProfit) {
		this.sellerNegativeProfit = sellerNegativeProfit;
	}

	public Boolean getPickupInStores() {
		return pickupInStores;
	}

	public void setPickupInStores(Boolean pickupInStores) {
		this.pickupInStores = pickupInStores;
	}

	public Integer getWarehouseId() {
		return warehouseId;
	}

	public void setWarehouseId(Integer warehouseId) {
		this.warehouseId = warehouseId;
	}

	public Long getDistributorId() {
		return distributorId;
	}

	public void setDistributorId(Long distributorId) {
		this.distributorId = distributorId;
	}

	public BigDecimal getSubDistributionProfit() {
		return subDistributionProfit;
	}

	public void setSubDistributionProfit(BigDecimal subDistributionProfit) {
		this.subDistributionProfit = subDistributionProfit;
	}

	public Boolean getWaitInStock() {
		return waitInStock;
	}

	public void setWaitInStock(Boolean waitInStock) {
		this.waitInStock = waitInStock;
	}

	public Date getInStockTime() {
		return inStockTime;
	}

	public void setInStockTime(Date inStockTime) {
		this.inStockTime = inStockTime;
	}

	public Boolean getHasRefund() {
		return hasRefund;
	}

	public void setHasRefund(Boolean hasRefund) {
		this.hasRefund = hasRefund;
	}

	public Date getLastRefundTime() {
		return lastRefundTime;
	}

	public void setLastRefundTime(Date lastRefundTime) {
		this.lastRefundTime = lastRefundTime;
	}

	public String getSellerMemo() {
		return sellerMemo;
	}

	public void setSellerMemo(String sellerMemo) {
		this.sellerMemo = sellerMemo;
	}

	public BigDecimal getPayableAmount() {
		return payableAmount;
	}

	public void setPayableAmount(BigDecimal payableAmount) {
		this.payableAmount = payableAmount;
	}

	public String getPlatSource() {
		return platSource;
	}

	public void setPlatSource(String platSource) {
		this.platSource = platSource;
	}

	public Boolean getLiveOrder() {
		return liveOrder;
	}

	public void setLiveOrder(Boolean liveOrder) {
		this.liveOrder = liveOrder;
	}

	public Boolean getBookingOrder() {
		return bookingOrder;
	}

	public void setBookingOrder(Boolean bookingOrder) {
		this.bookingOrder = bookingOrder;
	}

	public Integer getCrossBorderType() {
		return crossBorderType;
	}

	public void setCrossBorderType(Integer crossBorderType) {
		this.crossBorderType = crossBorderType;
	}

	public Integer getPickupType() {
		return pickupType;
	}

	public void setPickupType(Integer pickupType) {
		this.pickupType = pickupType;
	}

	public Date getPickedUpTime() {
		return pickedUpTime;
	}

	public void setPickedUpTime(Date pickedUpTime) {
		this.pickedUpTime = pickedUpTime;
	}

	public String getPickupUserName() {
		return pickupUserName;
	}

	public void setPickupUserName(String pickupUserName) {
		this.pickupUserName = pickupUserName;
	}

	public String getPickupUserPhone() {
		return pickupUserPhone;
	}

	public void setPickupUserPhone(String pickupUserPhone) {
		this.pickupUserPhone = pickupUserPhone;
	}

	public Long getPickupStoreId() {
		return pickupStoreId;
	}

	public void setPickupStoreId(Long pickupStoreId) {
		this.pickupStoreId = pickupStoreId;
	}

	public Integer getPickupStatus() {
		return pickupStatus;
	}

	public void setPickupStatus(Integer pickupStatus) {
		this.pickupStatus = pickupStatus;
	}
}
